Multicast is a network service that replicates a packet (or cell or generally a network data unit) sent from a multicast source to a plurality of multicast destinations, where the multicast source and multicast destinations are collectively called a multicast group. FIG. 1 illustrates an exemplary network with a plurality of network elements (NE), such as switching and routing nodes 10, interconnected with network links, and to which terminal nodes, such as end user equipment 8 and 12 are connected. After user equipment 12, for example, sends a multicast packet to the network, the packet is forwarded and/or replicated by NE so that a copy is ultimately received by all the user equipment 12 in the multicast group. Because multiple group members can be reached by the same network path (network elements connected by network links), a multicast packet may be forwarded once over paths shared by multiple group members and only later replicated for remaining paths that are no longer shared. Thus multicast services uses network path bandwidth efficiently.
However, multicast service requires NEs with the capability for network data unit replication. Briefly, switches and routers include ingress line cards that receive packets, egress line cards that transmit packets, and a switch fabric interconnecting the ingress and egress cards. Present and prior multicast implementations have varied in the network component or element selected to carry out packet replication. In some implementations, replication is performed by providing this special capability only in the ingress line cards, while in other implementation, replication has been performed by providing this special capability only in the switch fabric.
Each of these design choices has costs in memory, memory bandwidth, and fabric transmission bandwidth. If the line cards perform replication, then switch fabric bandwidth is required to transmit each replicated copy. If N copies are required and each copy requires a transmission time T through the switch fabric, then the switch fabric is busy for a total service time N*T. However, if the switching fabric performs the replication, then not only must the fabric include the special-purpose replication hardware but it also must transmit each replicated copy, a total service of N*T in the previous example.
Accordingly, known network elements do not efficiently implement multicast packet replication which burdens the fabric throughput.